Subject: Re: Not from Dave Finnie about TRS RSNs and FRSNs

From: [email-masked]
Date: Mon, 18 Dec 95 17:14:01 CST

My comments are inserted with ">>". -Rachel Bodner

>>From Dave Finnie's note:
While reading the architecture reference and working out how to write
code for generating the correct RSN, I came to the following conclusion:
 If B connects to A, A and B will exchange topology databases (according
 to FRSNs). If B has no safe store, A will essentially "dump" to B. If B
 receives a TDU that describes one of its own resources, then it
 immediately  sets the RSN for that resource to be equal to the RSN value
 in the TDU received from A. When this resource then changes, it
 incrememts the RSN accordingly.
P.S. I believe that if a node receives a TDU Describing one of its own
resources and the RSN is higher than it believes it to be, it should
automatically set it to be equal to the received RSN.
>>On page 7-28, the pseudo-code states:
>>"If RCVD_RSN (even or odd) > stored RSN then"
>>  "If the local node owns the resource information"
>>    "STORED RSN = RCVD_RSN + (1 or 2), i.e., STORED_RSN even"
>>    "TDM creates a new update containing the stored information"
>>    ...
>>So, the RSN actually gets bumbed up *prior* to being stored and
>>sent out (i.e., TDU goes out--no wait).

>>From Dave Finnie's note:
So I think that even if B loses its safe store, there shouldn't be a
problem.
>>There is the chance (as Bob Clouston pointed out) of getting the
>>scenario of NodeA and NodeB both (by coincidence) having the same
>>RSN that will be received:
>> 1.NodeA and NodeB Connected
>> 2.Exchange initial topology (they both have RSN=2 for B's resource)
>> 3.NodeB goes down and doesn't safe store
>> 4.NodeB comes back
>> 5.NodeA and NodeB resend topology but NodeA still has the entry
>>   about NodeB's resource from step #2 (and by coincidence NodeB
>>   again sends a RSN=2 since he came up with no topology stored)
>> 6.If information is the same, NodeA will just discard the received
>>   information; if information is different (which is what Mike
>>   Evan's original scenario depicted), NodeA will resend
>>   the resource update back to NodeB (with RSN=currRSN+1); then
>>   NodeB will increase rcvdRSN by 1 and re-issue the resource
>>   update.
>>Yes, the scenario corrects itself.

>>Disclaimer: These are my opinions and not necessarily the opinion of